arm/monitor vm-events: implement guest-request support
authorCorneliu ZUZU <czuzu@bitdefender.com>
Mon, 29 Feb 2016 15:07:49 +0000 (16:07 +0100)
committerJan Beulich <jbeulich@suse.com>
Mon, 29 Feb 2016 15:07:49 +0000 (16:07 +0100)
commitf471e98862f05242ae487153adc36283127d0e10
treed6c65b713d466f7fed3913c8a8765cb8d5f86e5a
parentef1b111beecf96abd9608a35b7498c590e3d078c
arm/monitor vm-events: implement guest-request support

This patch adds ARM support for guest-request monitor vm-events.
Note: on ARM hypercall instruction skipping must be done manually
by the caller. This will probably be changed in a future patch.

Summary of changes:
== Moved to common-side:
  * XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST handling (moved from X86
      arch_monitor_domctl_event to common monitor_domctl)
  * hvm_event_guest_request->vm_event_monitor_guest_request
  * hvm_event_traps->vm_event_monitor_traps (also added target vcpu as param)
  * guest-request bits from X86 'struct arch_domain' (to common 'struct domain')
== ARM implementations:
  * do_hvm_op now handling of HVMOP_guest_request_vm_event => calls
      vm_event_monitor_guest_request (as on X86)
  * arch_monitor_get_capabilities->vm_event_monitor_get_capabilities,
    updated to reflect support for XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST
  * vm_event_init_domain (does nothing), vm_event_cleanup_domain
== Misc:
  * vm_event_fill_regs, no longer X86-specific. ARM-side implementation of this
      function currently does nothing, that will be added in a separate patch.

Signed-off-by: Corneliu ZUZU <czuzu@bitdefender.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
17 files changed:
xen/arch/arm/hvm.c
xen/arch/x86/hvm/event.c
xen/arch/x86/hvm/hvm.c
xen/arch/x86/monitor.c
xen/arch/x86/vm_event.c
xen/common/monitor.c
xen/common/vm_event.c
xen/include/asm-arm/altp2m.h [new file with mode: 0644]
xen/include/asm-arm/monitor.h
xen/include/asm-arm/vm_event.h
xen/include/asm-x86/altp2m.h
xen/include/asm-x86/domain.h
xen/include/asm-x86/hvm/event.h
xen/include/asm-x86/monitor.h
xen/include/asm-x86/vm_event.h
xen/include/xen/sched.h
xen/include/xen/vm_event.h